#ifndef _COBJETOS_H
#define _COBJETOS_H

#include "particulas.h"
#include "disparo.h"
#include "enemigo.h"
#include "lista.h"
#include "recursos.h"

/*------------------------------------------------------------------------------
	Manages all game entities: enemies, "bullets", etc...
------------------------------------------------------------------------------*/
class CObjetos
{

	CRecursos	*m_pRecursos;
	
	CLista<CEnemigo *>	m_ListaEnemigos;
	CLista<CDisparo *> 		m_ListaDisparos;
	CLista<CDisparo *> 		m_ListaDisparosEnemigos;
	CLista<CParticulas *>	m_ListaParticulas[3];
	
public:

	CObjetos();
	~CObjetos();
	void Liberar();
	Bool Iniciar(CRecursos *pRecursos);
	void Dibujar();
	void AniadirParticula(CParticulas *p)	{m_ListaParticulas[int((p->getZ()*2)+1)].Insertar(p);}
	void AniadirEnemigo(CEnemigo *e)		{m_ListaEnemigos.Insertar(e);}
	void AniadirDisparo(CDisparo *d)		{m_ListaDisparos.Insertar(d);}
	void AniadirDisparoEnemigo(CDisparo *d)	{m_ListaDisparosEnemigos.Insertar(d);}
	
	/*---------------------------------
	 get Functions
	---------------------------------*/
	CLista<CDisparo *> 		*getListaDisparos()			{return &m_ListaDisparos;}
	CLista<CDisparo *> 		*getListaDisparosEnemigos()	{return &m_ListaDisparosEnemigos;}
	CLista<CEnemigo *> 		*getListaEnemigos()			{return &m_ListaEnemigos;}
};

#endif
